﻿namespace jiuyuan.数据.共享类;

// 物品类型枚举
public enum 物品类型
{
    // 功能性物品
    装备,           // 可穿戴，提供属性加成
    技能,           // 可使用，有冷却和魔法消耗
    消耗品,         // 一次性使用，有数量限制

    // 资源类物品
    货币,           // 金币、钻石等，主要用于交易
    材料,           // 用于合成、任务等
    任务物品,       // 特定任务相关，可能有特殊用途

    // 特殊物品
    收藏品,         // 成就、纪念品等
    钥匙,           // 开启宝箱、门等
    特殊道具,
    
    // 新增类型以兼容现有代码
    道具,
    技能书
}

// 技能目标类型枚举
public enum 技能目标类型
{
    自身,
    友方单体,
    友方群体,
    敌方单体,
    敌方群体
}

// 技能效果类型枚举
public enum 技能效果类型
{
    直接伤害,
    直接治疗,
    持续伤害,
    持续治疗,
    属性增益,
    属性减益,
    状态效果
}

// 元素类型枚举 - 用于技能和效果的元素属性
public enum 元素属性类型
{
    无,
    火,
    水,
    风,
    土,
    物理
}

// 战斗单位类型
public enum 战斗单位类型
{
    玩家,
    怪物
}

// 材料品质枚举
public enum 材料品质
{
    普通,
    稀有,
    史诗,
    传说
}

// 合成配方类
public class 合成配方
{
    public Guid Id { get; set; } = Guid.NewGuid();
    public string 名称 { get; set; } = string.Empty;
    public List<材料需求> 材料需求列表 { get; set; } = [];
    public Guid 产出物品ID { get; set; }
    public int 产出数量 { get; set; } = 1;
}

// 材料需求类
public class 材料需求
{
    public Guid 材料ID { get; set; }
    public int 需求数量 { get; set; }
}